Technote DV 550 | October 1990 |
Last reviewed: 8/1/92
Are there any new rules regarding SCSI driving with virtual memory? My System 6 driver doesn't work with System 7.
___
It's important to remember that VM usually uses a SCSI device for its backing store. As such, if VM needs to use your driver it can't tolerate a driver's page swap in the middle of a page swap. This means if your driver's code is not in the system heap, it needs to be held when called, and your buffers also need to be held if your driver is entered by a Control or Status call. Buffers are automatically held by the system if your driver is entered by a Read or Write call. The following documents provide a good overview of what you need to do to revise a SCSI driver for VM compatibility.
* Inside Macintosh Volume VI, which contains new information specific to virtual memory as it relates to drivers and especially SCSI
* Macintosh Technical Note "Coping with VM and Memory Mappings"
* "VM Paper" from the System 7 CD in the VM Goodies folder
Last reviewed: 8/1/92
How can we disable virtual memory (VM) from a SCSI driver, for dequeuing partitions? How can our driver determine which volume the virtual swap file resides upon?
___
The use of virtual memory requires that at boot time the PMMU be programmed with the appropriate memory mapping tables and enabled. The virtual memory is then laid out in the VM Storage file and available "real" RAM begins to be used to implement those portions of the virtual memory that need to be resident. It is not possible to turn this on and off while the machine is running. Specifically, it cannot be disabled / re-enabled from within your SCSI driver. With VM running, you can dismount and remount any disk or partition EXCEPT the unit that contains the VM Storage file. Whenever the system boots with VM on, the Finder makes sure there is only one file of that name mounted anywhere and deletes any "extra" files it encounters.
Currently there is no interface for locating the VM Storage file. Since the file name is guaranteed to be unique, it should be sufficient to search each volume for that file name.
Last reviewed: 8/1/92
How should we handle target reselection with the Macintosh SCSI Manager?
___
The Macintosh SCSI Manager does not yet support disconnection and reselection. After arbitration and selection, the target device should perform a SCSIMsgOut to identify the logical unit number and especially to see if disconnection and reselection is allowed (bit 6 of the Identify message). The Macintosh currently always sets bit 6 of the Identify message to 0, meaning disconnection is not allowed.
A target device should always assume that disconnection is not allowed unless it is specifically told otherwise by the Identify message. In this way, the target will do the right thing even if it does not follow protocol and issue a Message Out before requesting the Command.
Last reviewed: 8/1/92
Can you provide some sample code on using the Macintosh SCSI Manager to access a SCSI device?
___
A SCSI Development Package is available from APDA for around $20. You can
contact APDA at (800) 282-2732.
Main | Page One | What's New | Apple Computer, Inc. | Find It | Contact Us | Help